package com.scs.application.modules.purchase.service;

import com.scs.application.core.service.IBaseService;
import com.scs.application.modules.purchase.entity.Order;
import com.scs.application.modules.sys.model.RestResult;
import com.scs.application.modules.thirdparty.dto.OrderQRCodeDTO;

import java.util.List;

/**
 * <p>
 * 采购订单 Service
 * </p>
 */

public interface OrderService extends IBaseService<Order> {

    /**
     * 同步订单至MSCM平台
     * @param idList
     */
    String pushOrder(List<String> idList,Boolean flagExport);


    RestResult getNum(List<String> idList);

    /**
     * 关闭采购订单
     * @param idList
     * @param reason 关闭原因
     */
    void closeOrder(List<String> idList, String reason,int flagAllowClose,String user);

    /**
     * 按照请领明细去关闭采购订单
     * @param orderIdList
     * @param reason 关闭原因
     */

    public void closeOrder(List<String> orderIdList, List<String> applyItemIdList, String reason,int flagDeliveryClose,String user);
    /**获取本周订单数量
     *
     */
    Integer findThisWeekPurchaseCount();

    /**
     * 订单状态拉取
     */
    String pullOrderStatus();

    OrderQRCodeDTO printOrderQRCode(String orderId) throws Exception;
}
